#现在纸币面额有 1元，5元，10元，20元，50元和100元，
# 输入一个正整数的金额，输出所有的组成可能，比如输入 5元，则有  5个1元 和  一个5元两种可能
k = int(input("请输入钱数:"))
c=0#计数器
bai=wshi=ershi=shi=wu=yi=0
for bai in range(0,k//100+1):
    for wshi in range(0,k//50+1):
        for ershi in range(0,k//20+1):
            for shi in range(0,k//10+1):
                for wu in range(0,k//5+1):
                    yi=k-100*bai-50*wshi-20*ershi-10*shi-5*wu
                    if yi<0:
                        break

                    c+=1
                    if(bai>0):
                        print(bai,"张一百元",end=" ")
                    if (wshi > 0):
                        print(wshi, "张五十元", end=" ")
                    if (ershi > 0):
                        print(ershi, "张二十元", end=" ")
                    if (shi > 0):
                        print(shi, "张十元", end=" ")
                    if (wu > 0):
                        print(wu, "张五元", end=" ")
                    if (yi > 0):
                        print(yi, "张一元", end=" ")
                    print()
print(c, "种可能")

#输入一个数，计算他们各位上的数字和，
#比如输入1234，结果是10;输入22，则和是4
# k = int(input("请输入数:"))
# sum=0
# while k!=0:
#     sum+=k%10#sum=sum+k%10
#     k//=10#k=k//10
# print(sum)

# 输入10个数，求最大的数和最小的数，并输出。

# m = 0  # 输入
# max = int(input("请输入第1个数:")) # 方最大
# for i in range(2, 11):
#     m = int(input("请输入第" + str(i) + "个数:"))
#     if m > max:
#         max = m
#
# print("最大的是：", max)
